package com.luckcoder.relax.games.domain.vo;

import com.luckcoder.relax.games.domain.RelaxBlessingConfig;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 祝福语配置视图对象 relax_blessing_config
 *
 * @author zhanghao
 * @date 2025-09-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = RelaxBlessingConfig.class)
public class RelaxBlessingConfigVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 祝福语ID
     */
    @ExcelProperty(value = "祝福语ID")
    private Long blessingId;

    /**
     * 游戏编码
     */
    @ExcelProperty(value = "游戏编码")
    private String gameCode;

    /**
     * 祝福语内容
     */
    @ExcelProperty(value = "祝福语内容")
    private String blessingText;

    /**
     * 祝福语类型（chinese中文、english英文、mixed混合、general通用）
     */
    @ExcelProperty(value = "祝福语类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "c=hinese中文、english英文、mixed混合、general通用")
    private String blessingType;

    /**
     * 祝福语分类（encourage鼓励、praise赞美、achievement成就、general通用）
     */
    @ExcelProperty(value = "祝福语分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "e=ncourage鼓励、praise赞美、achievement成就、general通用")
    private String blessingCategory;

    /**
     * 语言（zh中文、en英文、mixed混合）
     */
    @ExcelProperty(value = "语言", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "z=h中文、en英文、mixed混合")
    private String language;

    /**
     * 权重（用于随机选择，数值越大概率越高）
     */
    @ExcelProperty(value = "权重", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "用=于随机选择，数值越大概率越高")
    private Long weight;

    /**
     * 显示顺序
     */
    @ExcelProperty(value = "显示顺序")
    private Long sortOrder;

    /**
     * 状态（0正常 1停用）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 是否启用（0禁用 1启用）
     */
    @ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=禁用,1=启用")
    private String isEnabled;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
